package com.kifas.model.xml;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class PenjualanModel implements Serializable {

	private static final long serialVersionUID = 3213885109325919794L;

	private Long idPenjualan;
	private String noPenjualan;
	@XmlElement(name = "customerModel", type = CustomerModel.class)
	private CustomerModel customer;
	@XmlElement(name = "salesModel", type = SalesModel.class)
	private SalesModel sales;
	@XmlElement(name = "penjualanDetailModel")
	private Set<PenjualanDetailModel> penjualanDetails;
	private Date tanggal;
	private String isPajak;
	private String alamatKirim;
	private BigDecimal total;
	private BigDecimal biayaLain;
	private Date tanggalKirim;
	private Date tanggalJatuhTempo;
	private String keterangan;
	private String nomorPo;
	private boolean kirim;
	private boolean canceled;
	private boolean closed;
	private String createdBy;
	private Date createdDate;

	public PenjualanModel() {
	}

	public PenjualanModel(Long idPenjualan, String noPenjualan, CustomerModel customer, SalesModel sales, Set<PenjualanDetailModel> penjualanDetails,
			Date tanggal, String isPajak, String alamatKirim, BigDecimal total, Date tanggalKirim, Date tanggalJatuhTempo, String keterangan,
			BigDecimal biayaLain, String createdBy, Date createdDate) {
		this.idPenjualan = idPenjualan;
		this.noPenjualan = noPenjualan;
		this.customer = customer;
		this.sales = sales;
		this.penjualanDetails = penjualanDetails;
		this.tanggal = tanggal;
		this.isPajak = isPajak;
		this.alamatKirim = alamatKirim;
		this.total = total;
		this.tanggalKirim = tanggalKirim;
		this.tanggalJatuhTempo = tanggalJatuhTempo;
		this.keterangan = keterangan;
		this.biayaLain = biayaLain;
		this.createdBy = createdBy;
		this.createdDate = createdDate;
	}

	public BigDecimal getBiayaLain() {
		return biayaLain;
	}

	public void setBiayaLain(BigDecimal biayaLain) {
		this.biayaLain = biayaLain;
	}

	public Long getIdPenjualan() {
		return idPenjualan;
	}

	public void setIdPenjualan(Long idPenjualan) {
		this.idPenjualan = idPenjualan;
	}

	public String getNoPenjualan() {
		return noPenjualan;
	}

	public void setNoPenjualan(String noPenjualan) {
		this.noPenjualan = noPenjualan;
	}

	public CustomerModel getCustomer() {
		return customer;
	}

	public void setCustomer(CustomerModel customer) {
		this.customer = customer;
	}

	public SalesModel getSales() {
		return sales;
	}

	public void setSales(SalesModel sales) {
		this.sales = sales;
	}

	public Date getTanggal() {
		return tanggal;
	}

	public void setTanggal(Date tanggal) {
		this.tanggal = tanggal;
	}

	public String getIsPajak() {
		return isPajak;
	}

	public void setIsPajak(String isPajak) {
		this.isPajak = isPajak;
	}

	public String getAlamatKirim() {
		return alamatKirim;
	}

	public void setAlamatKirim(String alamatKirim) {
		this.alamatKirim = alamatKirim;
	}

	public BigDecimal getTotal() {
		return total;
	}

	public void setTotal(BigDecimal total) {
		this.total = total;
	}

	public Set<PenjualanDetailModel> getPenjualanDetails() {
		return penjualanDetails;
	}

	public void setPenjualanDetails(Set<PenjualanDetailModel> penjualanDetails) {
		this.penjualanDetails = penjualanDetails;
	}

	public Date getTanggalKirim() {
		return tanggalKirim;
	}

	public void setTanggalKirim(Date tanggalKirim) {
		this.tanggalKirim = tanggalKirim;
	}

	public Date getTanggalJatuhTempo() {
		return tanggalJatuhTempo;
	}

	public void setTanggalJatuhTempo(Date tanggalJatuhTempo) {
		this.tanggalJatuhTempo = tanggalJatuhTempo;
	}

	public String getKeterangan() {
		return keterangan;
	}

	public void setKeterangan(String keterangan) {
		this.keterangan = keterangan;
	}

	public boolean isKirim() {
		return kirim;
	}

	public void setKirim(boolean kirim) {
		this.kirim = kirim;
	}

	public boolean isCanceled() {
		return canceled;
	}

	public void setCanceled(boolean canceled) {
		this.canceled = canceled;
	}

	public boolean isClosed() {
		return closed;
	}

	public void setClosed(boolean closed) {
		this.closed = closed;
	}

	public String getNomorPo() {
		return nomorPo;
	}

	public void setNomorPo(String nomorPo) {
		this.nomorPo = nomorPo;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public String getCreatedBy() {
		return createdBy;
	}

	public void setCreatedDate(Date createdDate) {
		this.createdDate = createdDate;
	}

	public Date getCreatedDate() {
		return createdDate;
	}

}
